{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:37.068144Z",
     "start_time": "2024-02-26T00:19:28.136511Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "import\n",
    "\"\"\"\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from pprint import pprint\n",
    "import pandas as pd"
   ],
   "outputs": [],
   "execution_count": 1
  },
  {
   "cell_type": "code",
   "id": "b1b58c35e5dc2fb4",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:37.201426Z",
     "start_time": "2024-02-26T00:19:37.072151Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "load data\n",
    "\"\"\"\n",
    "\n",
    "data1 = pd.read_csv(\"ex2data1.txt\", header=None)\n",
    "data1.insert(loc=0, column=\"theta0\", value=1)\n",
    "data1"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "    theta0          0          1  2\n",
       "0        1  34.623660  78.024693  0\n",
       "1        1  30.286711  43.894998  0\n",
       "2        1  35.847409  72.902198  0\n",
       "3        1  60.182599  86.308552  1\n",
       "4        1  79.032736  75.344376  1\n",
       "..     ...        ...        ... ..\n",
       "95       1  83.489163  48.380286  1\n",
       "96       1  42.261701  87.103851  1\n",
       "97       1  99.315009  68.775409  1\n",
       "98       1  55.340018  64.931938  1\n",
       "99       1  74.775893  89.529813  1\n",
       "\n",
       "[100 rows x 4 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>theta0</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>34.623660</td>\n",
       "      <td>78.024693</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>30.286711</td>\n",
       "      <td>43.894998</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>35.847409</td>\n",
       "      <td>72.902198</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>60.182599</td>\n",
       "      <td>86.308552</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>79.032736</td>\n",
       "      <td>75.344376</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>1</td>\n",
       "      <td>83.489163</td>\n",
       "      <td>48.380286</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>1</td>\n",
       "      <td>42.261701</td>\n",
       "      <td>87.103851</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>1</td>\n",
       "      <td>99.315009</td>\n",
       "      <td>68.775409</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>1</td>\n",
       "      <td>55.340018</td>\n",
       "      <td>64.931938</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>1</td>\n",
       "      <td>74.775893</td>\n",
       "      <td>89.529813</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 4 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 2
  },
  {
   "cell_type": "code",
   "id": "ede301805d1a67fb",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T01:56:18.832182Z",
     "start_time": "2024-02-26T01:56:17.039952Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "data summary\n",
    "\"\"\"\n",
    "\n",
    "data1.describe()\n"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-1.06095377  1.04159458]\n"
     ]
    },
    {
     "ename": "AttributeError",
     "evalue": "'numpy.ndarray' object has no attribute 'describe'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mAttributeError\u001B[0m                            Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[14], line 8\u001B[0m\n\u001B[0;32m      5\u001B[0m \u001B[38;5;28;01mimport\u001B[39;00m \u001B[38;5;21;01mnumpy\u001B[39;00m \u001B[38;5;28;01mas\u001B[39;00m \u001B[38;5;21;01mnp\u001B[39;00m\n\u001B[0;32m      6\u001B[0m \u001B[38;5;28mprint\u001B[39m((np\u001B[38;5;241m.\u001B[39marray([\u001B[38;5;241m45\u001B[39m, \u001B[38;5;241m85\u001B[39m]) \u001B[38;5;241m-\u001B[39m np\u001B[38;5;241m.\u001B[39marray([\u001B[38;5;241m65.644274\u001B[39m, \u001B[38;5;241m65.644274\u001B[39m]) ) \u001B[38;5;241m/\u001B[39m np\u001B[38;5;241m.\u001B[39marray([\u001B[38;5;241m19.458222\u001B[39m, \u001B[38;5;241m18.582783\u001B[39m]))\n\u001B[1;32m----> 8\u001B[0m data1\u001B[38;5;241m.\u001B[39mdescribe()\n",
      "\u001B[1;31mAttributeError\u001B[0m: 'numpy.ndarray' object has no attribute 'describe'"
     ]
    }
   ],
   "execution_count": 14
  },
  {
   "cell_type": "code",
   "id": "83e6e33fdac9995a",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:37.255139Z",
     "start_time": "2024-02-26T00:19:37.250885Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "转换pandas为numpy\n",
    "\"\"\"\n",
    "\n",
    "data1 = data1.to_numpy()\n"
   ],
   "outputs": [],
   "execution_count": 4
  },
  {
   "cell_type": "code",
   "id": "7fdaa378858bc45f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:39.118619Z",
     "start_time": "2024-02-26T00:19:37.258148Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "plot data\n",
    "\"\"\"\n",
    "\n",
    "def plotData():\n",
    "    class0 = data1[data1[:, 3] == 0]\n",
    "    class1 = data1[data1[:, 3] == 1]\n",
    "    \n",
    "    plt.xlabel(\"Exam 1 score\")\n",
    "    plt.ylabel(\"Exam 2 score\")\n",
    "    plt.plot(class0[:, 1], class0[:, 2], \"ro\", label=\"Not admitted\")\n",
    "    plt.plot(class1[:, 1], class1[:, 2], \"b+\", label=\"Admitted\")\n",
    "    plt.show()\n",
    "\n",
    "plotData()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 5
  },
  {
   "cell_type": "code",
   "id": "24b3fa716bd4839d",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:39.128600Z",
     "start_time": "2024-02-26T00:19:39.122627Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "split data\n",
    "\"\"\"\n",
    "\n",
    "x = data1[:, 0:3].T\n",
    "y = data1[:, 3]\n",
    "\n",
    "print(\"x shape: {}\\ny shape: {}\\n\".format(x.shape, y.shape))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x shape: (3, 100)\n",
      "y shape: (100,)\n",
      "\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "### sigmoid function\n",
    "![sigmoid](.\\img\\sigmoid.png)\n",
    "\n",
    "### hx function\n",
    "![hx](.\\img\\hx.png)"
   ],
   "id": "3a9daaf5ff6cb19f"
  },
  {
   "cell_type": "code",
   "id": "ef0a23e66d7c6468",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:39.135504Z",
     "start_time": "2024-02-26T00:19:39.130607Z"
    }
   },
   "source": [
    "\n",
    "\"\"\"\n",
    "sigmoid function\n",
    "\"\"\"\n",
    "\n",
    "\n",
    "def sigmoid(z):\n",
    "    return 1 / (1 + np.exp(-z))\n",
    "\n",
    "\n",
    "def h(theta, X):\n",
    "    return sigmoid(theta @ X)\n"
   ],
   "outputs": [],
   "execution_count": 7
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "### cost fucntion\n",
    "![cost](.\\img\\cost_func.png)\n",
    "\n",
    "### gradient fucntion\n",
    "![gradient](.\\img\\gradient_func.png)"
   ],
   "id": "5fbdcba36844f0f8"
  },
  {
   "cell_type": "code",
   "id": "e457eb2d825d9ee1",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:39.145954Z",
     "start_time": "2024-02-26T00:19:39.137514Z"
    }
   },
   "source": [
    "\n",
    "\"\"\"\n",
    "cost function\n",
    "gradient function\n",
    "\"\"\"\n",
    "\n",
    "\n",
    "def costFunction(theta, x, y):\n",
    "    m = len(y)\n",
    "    h_theta_x = h(theta, x)\n",
    "    cost = (1 / m) * np.sum(\n",
    "        -y * np.log(h_theta_x)\n",
    "        - (np.ones(m) - y) * np.log(np.ones(m) - h_theta_x)\n",
    "    )\n",
    "    return cost\n",
    "\n",
    "\n",
    "def gradientFunction(theta, x, y):\n",
    "    m = len(y)\n",
    "    return 1 / m * np.sum((h(theta, x) - y) * x, axis=1)\n"
   ],
   "outputs": [],
   "execution_count": 8
  },
  {
   "cell_type": "code",
   "id": "1f33b2c53ba241de",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:39.157350Z",
     "start_time": "2024-02-26T00:19:39.147962Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "initial cost and gradient\n",
    "\"\"\"\n",
    "\n",
    "init_theta = np.zeros(x.shape[0])\n",
    "cost  = costFunction(init_theta, x, y)\n",
    "gradient = gradientFunction(init_theta, x, y)\n",
    "\n",
    "print(\"cost: {}, theta: {}\\n\".format(cost, gradient))"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "cost: 0.6931471805599453, theta: [ -0.1        -12.00921659 -11.26284221]\n",
      "\n"
     ]
    }
   ],
   "execution_count": 9
  },
  {
   "cell_type": "code",
   "id": "f8dcaf1f59424462",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:20:06.341756Z",
     "start_time": "2024-02-26T00:20:06.190386Z"
    }
   },
   "source": [
    "\"\"\"\n",
    "train with Gradient descent\n",
    "\"\"\"\n",
    "\n",
    "theta = np.array([-2.472e+01,  2.027e-01,  1.979e-01])\n",
    "\n",
    "lr = 0.0001\n",
    "iterations = 500\n",
    "\n",
    "costs = [0 for i in range(iterations)]\n",
    "for i in range(iterations):\n",
    "    cost = costFunction(theta, x, y)\n",
    "    gradient = gradientFunction(theta, x, y)\n",
    "    theta = theta - lr * gradient\n",
    "    costs[i] = cost\n",
    "\n",
    "\n",
    "descent_theta = theta\n",
    "print(\"predict of (45, 85): {}\".format(h(theta, np.array([1, 45, 85]).T)))\n",
    "plt.plot([x for x in range(iterations)], costs, \"k\")\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "predict of (45, 85): 0.772612092991663\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 13
  },
  {
   "cell_type": "code",
   "id": "9e7e45ab9239a9e3",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:44.902332Z",
     "start_time": "2024-02-26T00:19:39.303004Z"
    }
   },
   "source": [
    "\n",
    "\"\"\"\n",
    "use minimize to calc theta\n",
    "\"\"\"\n",
    "\n",
    "from scipy.optimize import minimize\n",
    "\n",
    "theta = np.zeros(x.shape[0])\n",
    "res = minimize(costFunction, theta, args=(x, y), method=\"Newton-CG\", jac=gradientFunction, options={\"maxiter\": 1000, \"disp\": True})\n",
    "pprint(res)\n",
    "predict_rse = h(res.x, np.array([1, 45, 85]).T)\n",
    "print(\"predict of (45, 85): {}\".format(predict_rse))\n",
    "\n",
    "minimize_theta = res.x"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.203527\n",
      "         Iterations: 25\n",
      "         Function evaluations: 63\n",
      "         Gradient evaluations: 160\n",
      "         Hessian evaluations: 0\n",
      " message: Optimization terminated successfully.\n",
      " success: True\n",
      "  status: 0\n",
      "     fun: 0.203526993794541\n",
      "       x: [-2.472e+01  2.027e-01  1.979e-01]\n",
      "     nit: 25\n",
      "     jac: [ 1.018e-04 -2.263e-03 -1.750e-03]\n",
      "    nfev: 63\n",
      "    njev: 160\n",
      "    nhev: 0\n",
      "predict of (45, 85): 0.7726088594545727\n"
     ]
    }
   ],
   "execution_count": 11
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-02-26T00:19:45.029938Z",
     "start_time": "2024-02-26T00:19:44.903342Z"
    }
   },
   "cell_type": "code",
   "source": [
    "\"\"\"\n",
    "plot feature\n",
    "\"\"\"\n",
    "\n",
    "def mapFeature(theta):\n",
    "    plot_x = np.arange(np.min(data1[:, 1]), np.max(data1[:, 1]), 0.5)\n",
    "    plot_y = (plot_x * theta[1] + theta[0]) / -theta[2]\n",
    "    return plot_x, plot_y\n",
    "    \n",
    "    \n",
    "class0 = data1[data1[:, 3] == 0]\n",
    "class1 = data1[data1[:, 3] == 1]\n",
    "\n",
    "plt.xlabel(\"Exam 1 score\")\n",
    "plt.ylabel(\"Exam 2 score\")\n",
    "plt.plot(class0[:, 1], class0[:, 2], \"ro\", label=\"Not admitted\")\n",
    "plt.plot(class1[:, 1], class1[:, 2], \"b+\", label=\"Admitted\")\n",
    "\n",
    "plot_x, plot_y = mapFeature(descent_theta)\n",
    "plt.plot(plot_x, plot_y, \"r-\")\n",
    "\n",
    "plot_x, plot_y = mapFeature(minimize_theta)\n",
    "plt.plot(plot_x, plot_y, \"b-\")\n",
    "plt.show()\n",
    "\n",
    "\n"
   ],
   "id": "3a4f7b1ce28a7722",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 12
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
